// 涨停股模块
const ZhangtingModule = {
    // 涨停股数据
    zhangtingData: [],
    selectedDate: null,
    selectedStock: null,
    filterKeyword: '',

    // 处理涨停股数据
    processZhangtingData(data) {
        console.log('开始处理涨停股数据:', data);
        
        if (!Array.isArray(data)) {
            console.error('涨停股数据格式错误: 不是数组格式');
            this.zhangtingData = [];
            return;
        }

        // 按日期和涨停时间排序
        this.zhangtingData = data.sort((a, b) => {
            const dateCompare = new Date(b.dateTime) - new Date(a.dateTime);
            if (dateCompare !== 0) return dateCompare;
            return (a.ztTime || '').localeCompare(b.ztTime || '');
        });
        console.log('处理后的涨停股数据:', this.zhangtingData);
    },

    // 从API加载涨停股数据
    async loadZhangtingData(date = null) {
        try {
            const url = date ? `/api/zhangting?date=${date}` : `/api/zhangting`;
            console.log('正在请求涨停股数据URL:', url);
            
            const response = await axios.get(url);
            console.log('涨停股数据API响应:', response.data);
            
            if (response.data && response.data.code === 200) {
                const zhangtingData = response.data.data || [];
                this.processZhangtingData(zhangtingData);
                this.showMessage('success', `成功加载涨停股数据`);
            } else if (Array.isArray(response.data)) {
                // 直接返回数组的情况
                this.processZhangtingData(response.data);
                this.showMessage('success', `成功加载涨停股数据`);
            } else {
                console.error('涨停股数据格式异常:', response.data);
                this.showMessage('error', '涨停股数据格式异常: ' + JSON.stringify(response.data));
            }
        } catch (error) {
            console.error('加载涨停股数据失败:', error);
            this.showMessage('error', '涨停股数据加载失败: ' + (error.response?.data?.message || error.message || '网络错误'));
        }
    },

    // 显示消息的统一方法
    showMessage(type, message) {
        if (window.ElMessage) {
            window.ElMessage[type](message);
        } else {
            console.log(`[${type.toUpperCase()}] ${message}`);
        }
    },

    // 格式化日期显示
    formatDate(dateStr) {
        if (!dateStr) return '';
        if (dateStr.length === 8) {
            return `${dateStr.substring(0, 4)}-${dateStr.substring(4, 6)}-${dateStr.substring(6, 8)}`;
        }
        return dateStr;
    },

    // 格式化时间显示
    formatTime(timeStr) {
        if (!timeStr) return '-';
        if (timeStr.length === 6) {
            return `${timeStr.substring(0, 2)}:${timeStr.substring(2, 4)}:${timeStr.substring(4, 6)}`;
        }
        return timeStr;
    },

    // 格式化百分比
    formatPercent(value) {
        if (!value && value !== 0) return '-';
        return `${value}%`;
    },

    // 格式化金额
    formatAmount(amount) {
        if (!amount && amount !== 0) return '-';
        if (amount >= 100000000) {
            return `${(amount / 100000000).toFixed(2)}亿`;
        } else if (amount >= 10000) {
            return `${(amount / 10000).toFixed(2)}万`;
        }
        return amount.toString();
    },

    // 筛选数据
    filterData(data) {
        if (!this.filterKeyword) return data;
        const keyword = this.filterKeyword.toLowerCase();
        return data.filter(item => 
            (item.name && item.name.toLowerCase().includes(keyword)) ||
            (item.code && item.code.toLowerCase().includes(keyword)) ||
            (item.reason && item.reason.toLowerCase().includes(keyword))
        );
    },

    // 选择日期
    selectDate(date) {
        this.selectedDate = date;
    },

    // 选择股票
    selectStock(stock) {
        this.selectedStock = stock;
    },

    // 设置筛选关键词
    setFilterKeyword(keyword) {
        this.filterKeyword = keyword;
    },

    // 获取股票详细信息
    async getStockDetail(code) {
        try {
            const response = await axios.get(`/api/stock/detail?code=${code}`);
            return response.data;
        } catch (error) {
            console.error('获取股票详情失败:', error);
            return null;
        }
    },

    // 初始化方法
    init() {
        console.log('涨停股模块初始化');
        this.loadZhangtingData();
    }
};